#define _CRT_SECURE_NO_WARNINGS 1

#include "SList.h"

//void test1()
//{
//	SListNode* a = NULL;
//	a = (SListNode*)malloc(sizeof(SListNode));
//	SListNode* b = NULL;
//	b = (SListNode*)malloc(sizeof(SListNode)); 
//	SListNode* c = NULL;
//	c = (SListNode*)malloc(sizeof(SListNode));
//	SListNode* d = NULL;
//	d = (SListNode*)malloc(sizeof(SListNode));
//
//	a->data = 1;
//	a->next = b;
//	b->data = 2;
//	b->next = c;
//	c->data = 3;
//	c->next = d; 
//	d->data = 4;
//	d->next = NULL;
//	SListprint(NULL);
//}
void test2()
{
	SListNode* phead = NULL;
	SListpushback(&phead, 1);
	SListpushback(&phead, 2);
	SListpushback(&phead, 3);
	SListpushback(&phead, 4);

	//SListpushfront(&phead, 5);
	//SListpushfront(&phead, 6);
	//SListpushfront(&phead, 7);
	//SListpushmiddle(&phead, 8, 3);
	//SListpushmiddle(&phead, 8, 0);
	//SListpushmiddle(&phead, 8, 9);
	SListprint(phead);


	SListpopmiddle(&phead, 2);
	SListprint(phead);

	SListpopmiddle(&phead, 2);
	SListprint(phead);

	//SListpopback(&phead);
	//SListprint(phead);

	//SListpopback(&phead);
	//SListprint(phead);

	//SListpopback(&phead);

	//SListprint(phead);
}

int main()
{
	//test1();
	test2();
	return 0;
}